export interface ButtonOptions {
    disabled?: boolean;
    size?: string;
    color?: string;
    bgColor?: string;
    shape?: 'circle' | 'ellipse' | 'round-rect' | 'hexagon';
    hoveringBorder?: boolean;
    expandClick?: boolean;
    animation?: string;
}

export interface DialogOptions {
    height?: string;
    width?: string;
    modal?: boolean
    loadAnimation?: boolean;
    limitConfirm?: boolean;
    limitCancel?: boolean;
    confirmTo?: string;
    cancelTo?: string;
    confirmAction?: () => void;
    cancelAction?: () => void;
}

export interface NavOptions {
    options: ({ name: string } & ButtonOptions)[],
    commonOptions: ButtonOptions,
    chosen: string;
}

export interface RangeBarOptions {
    height: string;
    defaultValue?: number;
    min?: number;
    max?: number;
    step?: number;
    theme?: "ruby" | "sea" | 'green'
}

export interface RowPageListOptions {
    volume: number;
    total: number;
    step?: number;
    turnPageButtonVisiblity?: "hovering-show" | "hovering-show-both" | "maintain"
    firstPageTurnButtonAction?: "toLast",
    lastPageTurnButtonAction?: "toFirst",
}